{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sympy import *\n",
    "init_printing()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$$\\left ( a, \\quad b, \\quad c, \\quad \\sum_{i=0}^{n}{x_iy_i}, \\quad \\sum_{i=0}^{n}{x_i^2}, \\quad \\sum_{i=0}^{n}{x_i}, \\quad \\sum_{i=0}^{n}{y_i}, \\quad \\sum_{i=0}^{n}{x_i^4}, \\quad \\sum_{i=0}^{n}{x_i^3}, \\quad \\sum_{i=0}^{n}{x_i^2y_i}\\right )$$"
      ],
      "text/plain": [
       "(a, b, c, \\sum_{i=0}_iy_i}__{n}{x, \\sum_{i=0}_i__{n}{x__2}, \\sum_{i=0}_i}__{n}\n",
       "{x, \\sum_{i=0}_i}__{n}{y, \\sum_{i=0}_i__{n}{x__4}, \\sum_{i=0}_i__{n}{x__3}, \\s\n",
       "um_{i=0}_i_i}__{n}{x__2y)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a, b, c, n = symbols('a b c n')\n",
    "sum_xy = symbols('\\sum_{i=0}^{n}{x_iy_i}')\n",
    "sum_xx = symbols('\\sum_{i=0}^{n}{x_i^2}')\n",
    "sum_x = symbols('\\sum_{i=0}^{n}{x_i}')\n",
    "sum_y = symbols('\\sum_{i=0}^{n}{y_i}')\n",
    "sum_x4 = symbols('\\sum_{i=0}^{n}{x_i^4}')\n",
    "sum_x3 = symbols('\\sum_{i=0}^{n}{x_i^3}')\n",
    "sum_x2y = symbols('\\sum_{i=0}^{n}{x_i^2y_i}')\n",
    "\n",
    "a, b, c, sum_xy, sum_xx, sum_x, sum_y, sum_x4,sum_x3, sum_x2y"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 最小二乘法拟合直线\n",
    "一次多项式$f(x)=ax+b$  \n",
    "误差平方和$s=\\sum_{i=0}^{n}{(f(x_i)-y_i)^2}$  \n",
    "对误差平方和s求偏导,得到如下方程式组，求解ab  \n",
    "推导的公式简单，可以放入程序里直接使用，速度很快。  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$$\\left ( \\sum_{i=0}^{n}{x_i^2} a - \\sum_{i=0}^{n}{x_iy_i} + \\sum_{i=0}^{n}{x_i} b = 0, \\quad \\sum_{i=0}^{n}{x_i} a - \\sum_{i=0}^{n}{y_i} + b n = 0\\right )$$"
      ],
      "text/plain": [
       "(\\sum_{i=0}_i__{n}{x__2}⋅a - \\sum_{i=0}_iy_i}__{n}{x + \\sum_{i=0}_i}__{n}{x⋅b \n",
       "= 0, \\sum_{i=0}_i}__{n}{x⋅a - \\sum_{i=0}_i}__{n}{y + b⋅n = 0)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eq1 = Eq( sum_xx * a + sum_x * b - sum_xy,0)\n",
    "eq2 = Eq( sum_x * a + n * b - sum_y, 0)\n",
    "eq1,eq2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$$\\left \\{ a : \\frac{\\sum_{i=0}^{n}{x_iy_i} n - \\sum_{i=0}^{n}{x_i} \\sum_{i=0}^{n}{y_i}}{\\sum_{i=0}^{n}{x_i^2} n - \\left(\\sum_{i=0}^{n}{x_i}\\right)^{2}}, \\quad b : \\frac{\\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{y_i} - \\sum_{i=0}^{n}{x_iy_i} \\sum_{i=0}^{n}{x_i}}{\\sum_{i=0}^{n}{x_i^2} n - \\left(\\sum_{i=0}^{n}{x_i}\\right)^{2}}\\right \\}$$"
      ],
      "text/plain": [
       "⎧   \\sum_{i=0}_iy_i}__{n}{x⋅n - \\sum_{i=0}_i}__{n}{x⋅\\sum_{i=0}_i}__{n}{y     \n",
       "⎪a: ─────────────────────────────────────────────────────────────────────, b: \n",
       "⎨                                                             2               \n",
       "⎪             \\sum_{i=0}_i__{n}{x__2}⋅n - \\sum_{i=0}_i}__{n}{x                \n",
       "⎩                                                                             \n",
       "\n",
       "\\sum_{i=0}_i__{n}{x__2}⋅\\sum_{i=0}_i}__{n}{y - \\sum_{i=0}_iy_i}__{n}{x⋅\\sum_{i\n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                                                     2        \n",
       "                     \\sum_{i=0}_i__{n}{x__2}⋅n - \\sum_{i=0}_i}__{n}{x         \n",
       "                                                                              \n",
       "\n",
       "=0}_i}__{n}{x⎫\n",
       "─────────────⎪\n",
       "             ⎬\n",
       "             ⎪\n",
       "             ⎭"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# aa = solve([sum_xx * a + sum_x * b - sum_xy, sum_x * a + n * b - sum_y], a,b)\n",
    "aa = solve((eq1, eq2), a, b)\n",
    "aa"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 最小二乘法拟合曲线 \n",
    "二次多项式$f(x)=ax²+bx+c$    \n",
    "误差平方和$s=\\sum_{i=0}^{n}{(f(x_i)-y_i)^2}$  \n",
    "对误差平方和s求偏导,得到如下方程式组，求解abc  \n",
    "到二次多项式时，abc的解已经很长了，不是很适合直接将公式放到程序里运算(当然也可以，会比较臃肿)，此时使用矩阵计算求Ax=b的方法会比较合适。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$$\\left ( - \\sum_{i=0}^{n}{x_i^2y_i} + \\sum_{i=0}^{n}{x_i^2} c + \\sum_{i=0}^{n}{x_i^3} b + \\sum_{i=0}^{n}{x_i^4} a = 0, \\quad \\sum_{i=0}^{n}{x_i^2} b + \\sum_{i=0}^{n}{x_i^3} a - \\sum_{i=0}^{n}{x_iy_i} + \\sum_{i=0}^{n}{x_i} c = 0, \\quad \\sum_{i=0}^{n}{x_i^2} a + \\sum_{i=0}^{n}{x_i} b - \\sum_{i=0}^{n}{y_i} + c n = 0\\right )$$"
      ],
      "text/plain": [
       "(-\\sum_{i=0}_i_i}__{n}{x__2y + \\sum_{i=0}_i__{n}{x__2}⋅c + \\sum_{i=0}_i__{n}{x\n",
       "__3}⋅b + \\sum_{i=0}_i__{n}{x__4}⋅a = 0, \\sum_{i=0}_i__{n}{x__2}⋅b + \\sum_{i=0}\n",
       "_i__{n}{x__3}⋅a - \\sum_{i=0}_iy_i}__{n}{x + \\sum_{i=0}_i}__{n}{x⋅c = 0, \\sum_{\n",
       "i=0}_i__{n}{x__2}⋅a + \\sum_{i=0}_i}__{n}{x⋅b - \\sum_{i=0}_i}__{n}{y + c⋅n = 0)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$$\\left \\{ a : \\frac{- \\sum_{i=0}^{n}{x_i^2y_i} \\left(\\sum_{i=0}^{n}{x_i^2} n - \\left(\\sum_{i=0}^{n}{x_i}\\right)^{2}\\right) - \\sum_{i=0}^{n}{x_iy_i} \\left(\\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i} - \\sum_{i=0}^{n}{x_i^3} n\\right) + \\sum_{i=0}^{n}{y_i} \\left(\\left(\\sum_{i=0}^{n}{x_i^2}\\right)^{2} - \\sum_{i=0}^{n}{x_i^3} \\sum_{i=0}^{n}{x_i}\\right)}{\\left(\\sum_{i=0}^{n}{x_i^2}\\right)^{3} - 2 \\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i^3} \\sum_{i=0}^{n}{x_i} - \\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i^4} n + \\left(\\sum_{i=0}^{n}{x_i^3}\\right)^{2} n + \\sum_{i=0}^{n}{x_i^4} \\left(\\sum_{i=0}^{n}{x_i}\\right)^{2}}, \\quad b : \\frac{- \\sum_{i=0}^{n}{x_i^2y_i} \\left(\\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i} - \\sum_{i=0}^{n}{x_i^3} n\\right) + \\sum_{i=0}^{n}{x_iy_i} \\left(\\left(\\sum_{i=0}^{n}{x_i^2}\\right)^{2} - \\sum_{i=0}^{n}{x_i^4} n\\right) - \\sum_{i=0}^{n}{y_i} \\left(\\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i^3} - \\sum_{i=0}^{n}{x_i^4} \\sum_{i=0}^{n}{x_i}\\right)}{\\left(\\sum_{i=0}^{n}{x_i^2}\\right)^{3} - 2 \\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i^3} \\sum_{i=0}^{n}{x_i} - \\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i^4} n + \\left(\\sum_{i=0}^{n}{x_i^3}\\right)^{2} n + \\sum_{i=0}^{n}{x_i^4} \\left(\\sum_{i=0}^{n}{x_i}\\right)^{2}}, \\quad c : \\frac{\\sum_{i=0}^{n}{x_i^2y_i} \\left(\\left(\\sum_{i=0}^{n}{x_i^2}\\right)^{2} - \\sum_{i=0}^{n}{x_i^3} \\sum_{i=0}^{n}{x_i}\\right) - \\sum_{i=0}^{n}{x_iy_i} \\left(\\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i^3} - \\sum_{i=0}^{n}{x_i^4} \\sum_{i=0}^{n}{x_i}\\right) - \\sum_{i=0}^{n}{y_i} \\left(\\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i^4} - \\left(\\sum_{i=0}^{n}{x_i^3}\\right)^{2}\\right)}{\\left(\\sum_{i=0}^{n}{x_i^2}\\right)^{3} - 2 \\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i^3} \\sum_{i=0}^{n}{x_i} - \\sum_{i=0}^{n}{x_i^2} \\sum_{i=0}^{n}{x_i^4} n + \\left(\\sum_{i=0}^{n}{x_i^3}\\right)^{2} n + \\sum_{i=0}^{n}{x_i^4} \\left(\\sum_{i=0}^{n}{x_i}\\right)^{2}}\\right \\}$$"
      ],
      "text/plain": [
       "⎧                                ⎛                                            \n",
       "⎪   - \\sum_{i=0}_i_i}__{n}{x__2y⋅⎝\\sum_{i=0}_i__{n}{x__2}⋅n - \\sum_{i=0}_i}__{\n",
       "⎨a: ──────────────────────────────────────────────────────────────────────────\n",
       "⎪                                                    3                        \n",
       "⎩                             \\sum_{i=0}_i__{n}{x__2}  - 2⋅\\sum_{i=0}_i__{n}{x\n",
       "\n",
       "    2⎞                                                                        \n",
       "n}{x ⎠ - \\sum_{i=0}_iy_i}__{n}{x⋅(\\sum_{i=0}_i__{n}{x__2}⋅\\sum_{i=0}_i}__{n}{x\n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                                                              \n",
       "__2}⋅\\sum_{i=0}_i__{n}{x__3}⋅\\sum_{i=0}_i}__{n}{x - \\sum_{i=0}_i__{n}{x__2}⋅\\s\n",
       "\n",
       "                                                     ⎛                       2\n",
       " - \\sum_{i=0}_i__{n}{x__3}⋅n) + \\sum_{i=0}_i}__{n}{y⋅⎝\\sum_{i=0}_i__{n}{x__2} \n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                                 2                            \n",
       "um_{i=0}_i__{n}{x__4}⋅n + \\sum_{i=0}_i__{n}{x__3} ⋅n + \\sum_{i=0}_i__{n}{x__4}\n",
       "\n",
       "                                               ⎞                              \n",
       " - \\sum_{i=0}_i__{n}{x__3}⋅\\sum_{i=0}_i}__{n}{x⎠     -\\sum_{i=0}_i_i}__{n}{x__\n",
       "────────────────────────────────────────────────, b: ─────────────────────────\n",
       "                     2                                                        \n",
       "⋅\\sum_{i=0}_i}__{n}{x                                                         \n",
       "\n",
       "                                                                              \n",
       "2y⋅(\\sum_{i=0}_i__{n}{x__2}⋅\\sum_{i=0}_i}__{n}{x - \\sum_{i=0}_i__{n}{x__3}⋅n) \n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                     3                                        \n",
       "              \\sum_{i=0}_i__{n}{x__2}  - 2⋅\\sum_{i=0}_i__{n}{x__2}⋅\\sum_{i=0}_\n",
       "\n",
       "                          ⎛                       2                           \n",
       "+ \\sum_{i=0}_iy_i}__{n}{x⋅⎝\\sum_{i=0}_i__{n}{x__2}  - \\sum_{i=0}_i__{n}{x__4}⋅\n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                                                              \n",
       "i__{n}{x__3}⋅\\sum_{i=0}_i}__{n}{x - \\sum_{i=0}_i__{n}{x__2}⋅\\sum_{i=0}_i__{n}{\n",
       "\n",
       " ⎞                                                                            \n",
       "n⎠ - \\sum_{i=0}_i}__{n}{y⋅(\\sum_{i=0}_i__{n}{x__2}⋅\\sum_{i=0}_i__{n}{x__3} - \\\n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                 2                                            \n",
       "x__4}⋅n + \\sum_{i=0}_i__{n}{x__3} ⋅n + \\sum_{i=0}_i__{n}{x__4}⋅\\sum_{i=0}_i}__\n",
       "\n",
       "                                                                            ⎛ \n",
       "sum_{i=0}_i__{n}{x__4}⋅\\sum_{i=0}_i}__{n}{x)     \\sum_{i=0}_i_i}__{n}{x__2y⋅⎝\\\n",
       "────────────────────────────────────────────, c: ─────────────────────────────\n",
       "     2                                                                        \n",
       "{n}{x                                                                         \n",
       "\n",
       "                      2                                               ⎞       \n",
       "sum_{i=0}_i__{n}{x__2}  - \\sum_{i=0}_i__{n}{x__3}⋅\\sum_{i=0}_i}__{n}{x⎠ - \\sum\n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                           3                                  \n",
       "                    \\sum_{i=0}_i__{n}{x__2}  - 2⋅\\sum_{i=0}_i__{n}{x__2}⋅\\sum_\n",
       "\n",
       "                                                                              \n",
       "_{i=0}_iy_i}__{n}{x⋅(\\sum_{i=0}_i__{n}{x__2}⋅\\sum_{i=0}_i__{n}{x__3} - \\sum_{i\n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                                                              \n",
       "{i=0}_i__{n}{x__3}⋅\\sum_{i=0}_i}__{n}{x - \\sum_{i=0}_i__{n}{x__2}⋅\\sum_{i=0}_i\n",
       "\n",
       "                                                              ⎛               \n",
       "=0}_i__{n}{x__4}⋅\\sum_{i=0}_i}__{n}{x) - \\sum_{i=0}_i}__{n}{y⋅⎝\\sum_{i=0}_i__{\n",
       "──────────────────────────────────────────────────────────────────────────────\n",
       "                                       2                                      \n",
       "__{n}{x__4}⋅n + \\sum_{i=0}_i__{n}{x__3} ⋅n + \\sum_{i=0}_i__{n}{x__4}⋅\\sum_{i=0\n",
       "\n",
       "                                                          2⎞⎫\n",
       "n}{x__2}⋅\\sum_{i=0}_i__{n}{x__4} - \\sum_{i=0}_i__{n}{x__3} ⎠⎪\n",
       "────────────────────────────────────────────────────────────⎬\n",
       "           2                                                ⎪\n",
       "}_i}__{n}{x                                                 ⎭"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bb = solve((eq3, eq4, eq5), a, b, c)\n",
    "bb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
